BIN=proc.exe # 定义变量
CC=gcc
SRC=$(shell ls *.c) # 采用shell命令行式，获取当前所有.c文件名
SRC=$(wildcard *.c) # 或者使用wildcard 函数，获取当前所有.c文件名
OBJ=$(SRC:.c=.o) # 将SRC的所有同名.c 替换 成为.o 形成目标文件列表
LFLAGS=-o # 链接选项
FLAGS=-c # 编译选项
RM=rm -f # 引入命令
$(BIN):$(OBJ)
@$(CC) $(LFLAGS) $@ $^ # $@:代表目标文件名 $^: 代表依赖文件列表。
@echo "linking ... $^ to $@"
%.o:%.c # %.c 展开当前目录下所有的.c。 %.o: 同时展开同名.o
@$(CC) $(FLAGS) $< # %<: 对展开的依赖.c文件。一个一个的交给gcc。
@echo "compling ... $< to $@" # @：不回显命令
.PHONY:clean
clean:
$(RM) $(OBJ) $(BIN) # $(RM): 替换，用变量内容替换它
.PHONY:test
test:
@echo $(SRC)
@echo $(OBJ)

